package main

import "fmt"

/*
搜索插入的位置

给定一个排序数组和一个目标值，在数组中找到目标值，并返回其索引。如果目标值不存在于数组中，返回它将会被按顺序插入的位置。
*/

func searchInsert(nums []int, target int) int {
	var(
		left = 0
		right = len(nums)-1
		mid int
	)
	for left<=right{
		mid = (left+right)/2
		if nums[mid] == target{
			return mid
		}else if nums[mid]<target{
			left = mid + 1
		}else if nums[mid]>target{
			right = mid - 1
		}else if nums[left]+1==target&&nums[right]-1==target{
			break
		}
	}
	return left
}

func main() {
	nums:=[]int{1,3,5,6}
	fmt.Println(searchInsert(nums,0))
}
